using System;
using System.Collections.Generic;
using System.Text;

namespace ClientTools.Library.Macros
{
    public class Macro
    {
        public Macro() { }
        public Macro(umbraco.cms.businesslogic.macro.Macro umbracoMacro) 
        {
            this._alias = umbracoMacro.Alias;
            this._name = umbracoMacro.Name;
            this._id = umbracoMacro.Id;
            this._refreshRate = umbracoMacro.RefreshRate;
            this._type = umbracoMacro.Type;
            this._useInEditor = umbracoMacro.UseInEditor;
            this._xslt = umbracoMacro.Xslt;
            this._assembly = umbracoMacro.Assembly;
            this._properties = new MacroPropertyCollection(umbracoMacro.Properties);
        }

        private MacroPropertyCollection _properties;

        public MacroPropertyCollection Properties
        {
            get { return _properties; }
            set { _properties = value; }
        }
	
        private string _name;

        public string Name
        {
            get { return _name; }
            set { _name = value; }
        }

        private string _alias;

        public string Alias
        {
            get { return _alias; }
            set { _alias = value; }
        }

        private int _id;

        public int Id
        {
            get { return _id; }
            set { _id = value; }
        }

        private int _refreshRate;

        public int RefreshRate
        {
            get { return _refreshRate; }
            set { _refreshRate = value; }
        }

        private string _type;

        public string Type
        {
            get { return _type; }
            set { _type = value; }
        }

        private bool _useInEditor;

        public bool UseInEditor
        {
            get { return _useInEditor; }
            set { _useInEditor = value; }
        }

        private string _xslt;

        public string Xslt
        {
            get { return _xslt; }
            set { _xslt = value; }
        }

        private string _assembly;

        public string Assembly
        {
            get { return _assembly; }
            set { _assembly = value; }
        }
	
    }
}
